﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    //一个考试管理系统，需要录入考生成绩，只能录入数字，否则会报类型转换异常。
    //请编写相关代码，
    //1、捕获FormatException异常，并打印输出“异常已处理；
    //2、捕获OverflowException异常，数值超出double范围的异常，并打印输出“异常已处理；
    //3、捕获一般异常Exception异常。
    //4、最终处理finally
    //录入成绩结束后，请输出，总学生数，总分数，平均分。
    class Program
    {
        static void Main(string[] args)
        {
                int count = 0;
                int sum = 0;
                int avg = 0;
            while (true)
            {
                try
                {
                    Console.WriteLine("请输入考生成绩");
                    int score = int.Parse(Console.ReadLine());
                    count++;
                    sum += score;
                    avg = sum / count;
                }
                catch (FormatException e)
                {
                    Console.WriteLine("异常已处理");
                    Console.WriteLine(e.Message);
                    Console.WriteLine(e.Source);
                    Console.WriteLine(e.StackTrace);
                }
                catch (OverflowException s)
                {
                    Console.WriteLine("异常已处理");
                    Console.WriteLine(s.Message);
                    Console.WriteLine(s.Source);
                    Console.WriteLine(s.StackTrace);
                }                      
                catch (Exception f)
                {
                    Console.WriteLine("异常已处理");
                    Console.WriteLine(f.Message);
                    Console.WriteLine(f.Source);
                    Console.WriteLine(f.StackTrace);

                }
                finally 
                {
                    Console.WriteLine("考生人数为"+count+"======"+"总分数为"+sum + "======" + "平均分为"+avg);
                }
            }
        }
    }
}
